package com.lagou.edu.factory;

import java.lang.reflect.Method;
import java.util.List;

public interface AopProxy {

    /**
     *  创建普通代理对象
     *
     * @param o
     * @return
     */
    abstract Object createProxy(Object o);

    /**
     *  创建带事务的代理
     *
     * @param o 代理对象
     * @param methods 代理对象中需要添加事务的方法
     * @return 增强之后的代理对象
     */
    abstract Object createProxyWithTransaction(Object o, List<Method> methods);
}
